﻿using System.Collections.Generic;

namespace Vra.DataAccess
{
	public interface IBaseDao<T> where T : class, new()
	{
		/// <summary>
		/// Получить объект по id
		/// </summary>
		/// <param name="item">id художника</param>
		/// <returns>художник</returns>
		T Get(T item);
		/// <summary>
		/// Получить список всех объектов в базе
		/// </summary>
		/// <returns>список всех объектов в базе</returns>
		IList<T> GetAll();

		/// <summary>
		/// Добавить художника в базу
		/// </summary>
		/// <param name="item">новый объект</param>
		void Add(T item);
		/// <summary>
		/// Обновить художника
		/// </summary>
		/// <param name="item">обновленный объект</param>
		void Update(T item);
		/// <summary>
		/// Удалить художника
		/// </summary>
		/// <param name="item">удаляемый объект</param>
		void Delete(T item);
	}
}
